In a wireless communication, there is a radio channel between a current transmitter and a current receiver. The radio channel affects a time-dependent transmitted signal x(t) in such a way that a corresponding time-dependent revived signal y(t) differs from x(t). For example, x(t) is attenuated in the channel, and due to reflections in the channel, the transmitted signal is divided into several signals following different signal paths. These signals are received with different time delays due to differences in path length.
The received signal y(t) thus consists of a number of different versions of the transmitted signal, x(t), which are attenuated and time delayed. This is written as
            y      ⁡              (        t        )              =                            ∑                      k            =            0                    n                ⁢                                  ⁢                              x            ⁡                          (                              t                -                                  τ                  k                                            )                                ⁢                      h            ⁡                          (              k              )                                          +              z        ⁡                  (          t          )                      ,where τk is a certain delay time, h(k) is the attenuation and z(t) is noise. The letter “n” denotes the number of received versions of the transmitted signal. These time delays cause a spread in time that gives rise to so-called inter-symbol interference (ISI), and there is thus a need for compensating for this. One type of receiver that compensates for such a receiver is a so-called RAKE receiver.
A RAKE receiver Q, as shown in prior art FIG. 1, works by having a number N of “fingers” F1, F2 . . . FN, where each finger F1, F2 . . . FN is a branched signal path having a certain amplification A1, A2 . . . AN and time delay D1, D2 . . . DN. By estimating the correct delay and amplification for each finger F1, F2 . . . FN, the received signal is recovered by means of de-spreading of the received signals y(t). All the fingers F1, F2 . . . FN are then added to a common output from the RAKE receiver Q, where a decision is taken in a decision module C regarding which symbol a certain signal refers to. The estimation of the delays D1, D2 . . . DN is performed by means of pilot signals, which are known in advance, and transmitted regularly. These delays D1, D2 . . . DN can be estimated by an auto-correlation of the received pilot signals.
The RAKE receiver Q suffers from a problem relating to noise z(t) in the received signal y(t). The decision made in the decision module C is optimal in the maximum likelihood sense if, and only if, the noise is white. Typically, the noise is coloured, which makes the RAKE receiver suboptimal. A remedy to this shortcoming is to use a pre-whitening approach, this is also known as the generalized-RAKE receiver (G-RAKE). The pre-whitening is done by acquiring a covariance matrix R of the received signal y(t) when y(t)=z(t), i.e. when there is no transmission, and inverting said covariance matrix R. The inverse R−1 of the covariance matrix R is used to compute the combining weights A1 . . . AN in FIG. 1. This is indicated with dashed-lines in FIG. 1.
For reasons of simplicity, in the following we will assume that the G-RAKE receiver is equipped with two antennas, but of course the following principles are valid for any number of antennas. The covariance matrix Ry for the received signal y(t) is written as:
  R  =            E      ⁢              {                              [                                                                                y                    1                                                                                                                    y                    2                                                                        ]                    ⁡                      [                                          y                1                H                            ⁢                                                          ⁢                              y                2                H                                      ]                          }              =          [                                                  R              11                                                          R              12                                                                          R              21                                                          R              22                                          ]      where y1 is a signal vector received by a first antenna and y2 is a signal vector received by a second antenna. All the vectors are time-dependent although this, for reasons of simplicity, is not indicated. The superscript H denotes that the vector/matrix in question is Hermite transposed, i.e. it denotes that it is a transposed complex conjugate.
Each signal vector is of the size M×1, where M is a number of received samples, which number M is chosen such that the delay spread can be modelled. That is, the number M is chosen large enough to describe all significant time delays in a received signal. This means that the covariance matrix R is a 2M×2M matrix. Each of the four submatrices Rrc is thus of the size M×M.
As the inverted covariance matrix R is used to whiten the noise, there is a quite complicated matrix inversion that has to take place in order to acquire R−1. A 2M×2M matrix requires approximately 8M3 operations to be inverted. There is thus a demand for a method for facilitating this inversion.